[Swift] Parseでデータを追記する
Parseでデータを読み込むに引き続き、データをParseサーバ上に追記する方法になります。
今回は、シンプルに、書き込むデータは事前に用意した画像とタイトル名とします。
前回の記事の続きになりますので、事前に前回の記事を読まれることをお勧めします。
Storyboard
NavigationBarの上に、データを追加・セーブするためのBar Button Item を追加しています。
Swiftでコードを書く
TableViewController.swift
@IBAction func tapAddButton(sender: AnyObject) { var object: PFObject = PFObject(className: "Picture") object["title"] = "駅のホームより" var imageData: NSData = UIImageJPEGRepresentation(UIImage(named: "image.jpg"), 0.1) var file: PFFile = PFFile(name: "image.jpg", data: imageData) object["graphicFile"] = file object.saveInBackgroundWithBlock { (succeeded, error) -> Void in self.prepareToUseData() self.tableView.reloadData() } }
画像データは事前に用意したファイルをプロジェクトに追加してあります。
- 2行目: PFObjectを作成しています。同時にアプリ内でのデータ細分項目である、Class Nameを指定しています。
- 3行目: titleカラムに対して書き込むための文字列をしてしています。
- 4行目: JPEGファイルを、NSDataに変換し、imageDataに代入しています。
- 5行目: 画像ファイルを格納するPFFile型のfileを宣言しています。ファイル名は image.jpg、中身は先ほど作成したNSData型のimageDataです。
- 6行目: PFObjectにPFFileを代入しています。PFObjectはファイルの上限サイズが小さく、こうしてPFFileと関連付けることで、大きな画像ファイルのセーブを実現しています。
参考:[Parse][iOS] PFFileの使い方 - 7行目〜: 実際にデータを書き込む部分です。self.prepareToUseData()の中では、前回作ったloadData()の呼び出しとself.tableView.reloadData()の呼び出しをしています。
完成
※アニメーションGIFファイルです。動かない場合は、画像をタップしてみてください。
+ボタンを押すとデータが読み込まれ、セルが追加されていますね。Parseのデータ管理画面からも確認できます。
お疲れ様でした!